Skip to content

refactor(studio): remove section pinning from the flat inspector#2135

Open
vanceingalls wants to merge 1 commit into
studio-flat-09-fixed-headers-scrollable-bodyfrom
studio-flat-10-remove-pinning
Open

refactor(studio): remove section pinning from the flat inspector#2135
vanceingalls wants to merge 1 commit into
studio-flat-09-fixed-headers-scrollable-bodyfrom
studio-flat-10-remove-pinning

Conversation

@vanceingalls

@vanceingalls vanceingalls commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

What

Tenth PR in the flat inspector stack (see #2120 for the foundation and full stack list). Removes group pinning entirely — the pin button, PinnedGroupRow, PinnedZoneDivider, the usePersistedPinnedGroups hook (deleted outright, including its test file), and the pinnedGroupsByElementType field from studioUiPreferences.ts.

Stack: #2120 → ... → #2134#2135 (this).

Why

Explicit product decision: pinning added complexity without being worth keeping. Removing it also resolves the one known follow-up flagged in the previous PR (#2134) — an oversized pinned zone could silently clip content with no scrollbar, since there's no scroll fallback in the new fixed-header layout. With no pinned zone at all, that failure mode can't occur.

How

  • PropertyPanelFlat.tsx's group list no longer splits into pinned/unpinned — the beforeOpen/openGroup/afterOpen split (from refactor(studio): scroll only the open group's body, keep headers fixed #2134) now operates directly on the full group list.
  • FlatGroupHeader no longer accepts isPinned/onTogglePin; the pin button is gone from its button row.
  • PinnedGroupRow and PinnedZoneDivider deleted from propertyPanelFlatPrimitives.tsx.
  • usePersistedPinnedGroups.ts and its test file deleted entirely.
  • pinnedGroupsByElementType removed from StudioUiPreferences and its read/write validation.

Test plan

  • All pin-specific tests removed (not left dangling/skipped) across PropertyPanel.test.tsx, propertyPanelFlatPrimitives.test.tsx, and studioUiPreferences.test.ts.
  • Verified live that no pin UI remains anywhere in the inspector and normal group open/close still works correctly.
  • Full monorepo suite green (1578 tests, 0 failures); oxlint/oxfmt/fallow clean.
  • Unit tests added/updated
  • Manual testing performed
  • Documentation updated (not applicable — internal Studio UI behind an off-by-default flag)

vanceingalls commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator Author

@miga-heygen miga-heygen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed as part of the 15-PR edit-panel redesign stack. Full stack review posted on #2120. No blockers on this PR. — Miga

@miguel-heygen miguel-heygen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Final current-head pass: 1fea656. Reviewed the stack boundaries and current diff against the flat-inspector contracts; required checks have no failures/pending checks and no unresolved review threads remain. No new drift found; residual notes are non-blocking.

@vanceingalls vanceingalls force-pushed the studio-flat-10-remove-pinning branch from 1fea656 to 94a812a Compare July 11, 2026 01:34
@vanceingalls vanceingalls force-pushed the studio-flat-09-fixed-headers-scrollable-body branch from 5d24fc1 to 6374b78 Compare July 11, 2026 01:34

@miguel-heygen miguel-heygen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Superseding earlier approval: the latest max-review pass found confirmed correctness issues in this flat-inspector stack (identity/selector-index state, hide-all write races, timing inference, slider pointer/keyboard/reset semantics, and duplicate React keys). Hold merge and require fixes plus re-review on the current stack head.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants